/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package wasolicitudesfiec.consultas;

import entidad.Datosacademicos;
import java.sql.*;
import java.util.Vector;

/**
 *
 * @author kabad
 */
public class ConsultasDatosacademicos{
private Connection con;

public Datosacademicos nuevoDatosacademicos(boolean esEstudianteRegular, int factorP, int fkIdEstudiante, boolean fueSancionado, String nivel, int numMateriasAprobadas, boolean perdioBeca, double promedioGeneral, boolean reproboEnSemestreAnterior, boolean tieneDeudas) throws SQLException{
Datosacademicos reg=new Datosacademicos();

PreparedStatement proc=con.prepareStatement(
"call nuevoDatosacademicos(?,?,?,?,?,?,?,?,?,?) ");
proc.setBoolean(1, esEstudianteRegular);
proc.setInt(2, factorP);
proc.setInt(3, fkIdEstudiante);
proc.setBoolean(4, fueSancionado);
proc.setString(5, nivel);
proc.setInt(6, numMateriasAprobadas);
proc.setBoolean(7, perdioBeca);
proc.setDouble(8, promedioGeneral);
proc.setBoolean(9, reproboEnSemestreAnterior);
proc.setBoolean(10, tieneDeudas);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setEsEstudianteRegular(rs.getBoolean(1));
reg.setFactorP(rs.getInt(2));
reg.setFkIdEstudiante(rs.getInt(3));
reg.setFueSancionado(rs.getBoolean(4));
reg.setIdDatoAcademico(rs.getInt(5));
reg.setNivel(rs.getString(6));
reg.setNumMateriasAprobadas(rs.getInt(7));
reg.setPerdioBeca(rs.getBoolean(8));
reg.setPromedioGeneral(rs.getDouble(9));
reg.setReproboEnSemestreAnterior(rs.getBoolean(10));
reg.setTieneDeudas(rs.getBoolean(11));
}else reg=null;
return reg;


}

public void setConexion(Connection con) {
this.con=con;
}

public boolean HLmodificarDatosacademicos(Datosacademicos val) throws SQLException{
return modificarDatosacademicos(val.getEsEstudianteRegular(), val.getFactorP(), val.getFkIdEstudiante(), val.getFueSancionado(), val.getIdDatoAcademico(), val.getNivel(), val.getNumMateriasAprobadas(), val.getPerdioBeca(), val.getPromedioGeneral(), val.getReproboEnSemestreAnterior(), val.getTieneDeudas());
}

public boolean eliminarDatosacademicos(int idDatoAcademico) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call eliminarDatosacademicos(?) ");
proc.setInt(1, idDatoAcademico);
proc.execute();
return exitoOperacion;


}

public boolean HLeliminarDatosacademicos(Datosacademicos val) throws SQLException{
return eliminarDatosacademicos(val.getIdDatoAcademico());
}

public Datosacademicos HLnuevoDatosacademicos(Datosacademicos val) throws SQLException{
return nuevoDatosacademicos(val.getEsEstudianteRegular(), val.getFactorP(), val.getFkIdEstudiante(), val.getFueSancionado(), val.getNivel(), val.getNumMateriasAprobadas(), val.getPerdioBeca(), val.getPromedioGeneral(), val.getReproboEnSemestreAnterior(), val.getTieneDeudas());
}

public Datosacademicos leerDatosacademicos(int idDatoAcademico) throws SQLException{
Datosacademicos reg=new Datosacademicos();

PreparedStatement proc=con.prepareStatement(
"call leerDatosacademicos(?) ");
proc.setInt(1, idDatoAcademico);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setEsEstudianteRegular(rs.getBoolean(1));
reg.setFactorP(rs.getInt(2));
reg.setFkIdEstudiante(rs.getInt(3));
reg.setFueSancionado(rs.getBoolean(4));
reg.setIdDatoAcademico(rs.getInt(5));
reg.setNivel(rs.getString(6));
reg.setNumMateriasAprobadas(rs.getInt(7));
reg.setPerdioBeca(rs.getBoolean(8));
reg.setPromedioGeneral(rs.getDouble(9));
reg.setReproboEnSemestreAnterior(rs.getBoolean(10));
reg.setTieneDeudas(rs.getBoolean(11));
}else reg=null;
return reg;


}

public Datosacademicos HLleerDatosacademicos(Datosacademicos val) throws SQLException{
return leerDatosacademicos(val.getIdDatoAcademico());
}

public Vector<Datosacademicos> leerVariosDatosacademicos() throws SQLException{
Vector<Datosacademicos> datos=new Vector<Datosacademicos>();
Datosacademicos reg;

PreparedStatement proc=con.prepareStatement(
"call leerVariosDatosacademicos() ");
ResultSet rs=proc.executeQuery();
while (rs.next()) {
reg = new Datosacademicos();
reg.setEsEstudianteRegular(rs.getBoolean(1));
reg.setFactorP(rs.getInt(2));
reg.setFkIdEstudiante(rs.getInt(3));
reg.setFueSancionado(rs.getBoolean(4));
reg.setIdDatoAcademico(rs.getInt(5));
reg.setNivel(rs.getString(6));
reg.setNumMateriasAprobadas(rs.getInt(7));
reg.setPerdioBeca(rs.getBoolean(8));
reg.setPromedioGeneral(rs.getDouble(9));
reg.setReproboEnSemestreAnterior(rs.getBoolean(10));
reg.setTieneDeudas(rs.getBoolean(11));
datos.add(reg);
}//end while
return datos;


}

public Vector<Datosacademicos> HLleerVariosDatosacademicos(Datosacademicos val) throws SQLException{
return leerVariosDatosacademicos();
}

public boolean modificarDatosacademicos(boolean esEstudianteRegular, int factorP, int fkIdEstudiante, boolean fueSancionado, int idDatoAcademico, String nivel, int numMateriasAprobadas, boolean perdioBeca, double promedioGeneral, boolean reproboEnSemestreAnterior, boolean tieneDeudas) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call modificarDatosacademicos(?,?,?,?,?,?,?,?,?,?,?) ");
proc.setBoolean(1, esEstudianteRegular);
proc.setInt(2, factorP);
proc.setInt(3, fkIdEstudiante);
proc.setBoolean(4, fueSancionado);
proc.setInt(5, idDatoAcademico);
proc.setString(6, nivel);
proc.setInt(7, numMateriasAprobadas);
proc.setBoolean(8, perdioBeca);
proc.setDouble(9, promedioGeneral);
proc.setBoolean(10, reproboEnSemestreAnterior);
proc.setBoolean(11, tieneDeudas);
proc.execute();
return exitoOperacion;


}


}// FIN CLASE: ConsultasDatosacademicos